package com.lqk.template;

/**
 * @author lqk
 * @date 2021/12/8 15:27
 *
 * 抽象类，表示豆浆
 */
public abstract class SoyaMilk {
    // 模板方法，make，使用final修饰，不让子类覆盖
    final void make(){
        select();
        addCondiments();
        soak();
        beat();
    }

    // 选材料
    void select(){
        System.out.println("第一步：选择好的新鲜黄豆");
    }

    // 添加不同配料，抽象方法，由子类实现
    abstract void addCondiments();

    // 浸泡
    void soak(){
        System.out.println("第三步：黄豆和配料开始浸泡，需要3小时");
    }
    //
    void beat(){
        System.out.println("第四步：黄豆和配料放到豆浆机去打碎");
    }

}
